// 用户相关小仓库
import {defineStore} from 'pinia';

// 引入接口
import { reqLogin } from '@/api/user';

// 引入数据类型
import type { loginForm } from '@/api/user/type';

let useUserStore = defineStore('User',{
    // 小仓库存储数据的地方
    state() {
        return {
            token:localStorage.getItem("TOKEN") //用户唯一标识
        }
    },
    // 异步处理逻辑的地方
    actions:{
        // 用户登录的方法
        async userLogin(data:loginForm){
            // 登录请求
            let result:any = await reqLogin(data)

            // 如果登录成功，存储token到pinia仓库
            if(result.code == 200){
                this.token = result.data.token
                
                // 本地持久化token
                localStorage.setItem("TOKEN",result.data.token)
                
                return 'ok';

            }else{
                return Promise.reject(new Error(result.data.message))
            }



        }

    },
    getters:{

    }

})

export default useUserStore;